/**
 *  是否上传为图片类型
 */
export function checkImgType(fileType:string){
	if (!/\.(jpg|jpeg|png|GIF|JPG|PNG)$/.test(fileType)) { 
	   return  false;     
	}else{
	   return true; 
	}
}

// 校验是否为中文
function validatorName(val: string) {
    const reg = /^[\u4e00-\u9fa5]+$/;
    return reg.test(val)
}
// 校验手机号
function validatorPhone(val: string) {
    const reg = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
    return reg.test(val)
}

// 检验身份证号码
function validatorIdCard(val:string) {
    let IDRe18 = /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
    let IDre15 =  /^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/

    return IDRe18.test(val) || IDre15.test(val)
}

// 校验手机号
function validatorBank(val: string) {
    let regExp = /^([1-9]{1})(\d{15}|\d{18})$/;
    return regExp.test(val)
}


const validateList = {
    checkName: function(value: string) {
        if(!validatorName(value)) {
            return false
        }
    },
    checkNameMsg: (value:string) => {
        if(!value) {
            return '请输入姓名'
        }
        if(!validatorName(value)) {
            return '姓名请输入中文'
        }
    },
    checkPhone: function(value:string) {
        return validatorPhone(value)
    },
    checkPhoneMsg: (value?:any) => {
        if(!value) {
            return '请输入手机号'
        }
        if(!validatorPhone(value)) {
            return '请输入合法手机号'
        }
    },
    checkIdCard: (value:string) => {
		return validatorIdCard(value)
    },
    checkIdCardMsg: (value:string, msg?:string) => {
        if(msg && !value) {
            return msg
        }

        if(!validatorIdCard(value)) {
            return '请输入合法证件号码'
        }
    },
    checkBank: (value:string) => {
        return validatorBank(value)
    },
    checkBankMsg: (value:string) => {
        if(!value) {
            return '请输入银行卡号'
        }

        if(!validatorBank(value)) {
            return '请输入合法银行卡号'
        }
    }
}

export default validateList